﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Estacionamiento
{
    class Playa
    {
        private List<RegistroEstacionamiento> lAutos= new List<RegistroEstacionamiento>();
        private int capacidadAutos, totalAutos;

        public int TotalAutos
        {
            get { return totalAutos; }
        }

        public int CapacidadAutos
        {
            get { return capacidadAutos; }
            set { capacidadAutos = value; }
        }
        private double precioAuto, totalRecaudacion;

        public double TotalRecaudacion
        {
            get { return totalRecaudacion; }
        }

        public double PrecioAuto
        {
            get { return precioAuto; }
            set { precioAuto = value; }
        }
        public Playa(int nAutos, double pAutos)
        {
            CapacidadAutos = nAutos;
            PrecioAuto = pAutos;
        }
        public Boolean RegistrarEgreso(Auto unidad, DateTime hora, out double monto)
        {
            for (int i = 0; i < lAutos.Count; i++)
            {
                if (lAutos[i].Unidad.Matricula.CompareTo(unidad.Matricula) == 0)
                {
                    TimeSpan horas = (hora.Subtract(lAutos[i].HoraEntrada));
                    monto = precioAuto * horas.TotalHours;
                    totalRecaudacion += monto;
                    lAutos.RemoveAt(i);
                    return true;
                }
            }
            monto = 0;
            return false;
        }
        public Boolean RegistrarIngreso(Auto unidad, DateTime hora)
        {
            if (totalAutos < 3)
            {
                RegistroEstacionamiento reg = new RegistroEstacionamiento(unidad, hora);
                lAutos.Add(reg);
                totalAutos++;
                return true;
            }
            return false;
        }
    }

}
